Higher-Order Transformation of Logic Programs
نویسندگان
چکیده
It has earlier been assumed that a compositional approach to algorithm design and program transformation is somehow unique to functional programming. Elegant theoretical results codify the basic laws of algorithmics within the functional paradigm and with this paper we hope to demonstrate that some of the same techniques and results are applicable to logic programming as well.
منابع مشابه
Derivation of Efficient Logic Programs by Specialization and Reduction of Nondeterminism
Program specialization is a program transformation methodology which improves program efficiency by exploiting the information about the input data which are available at compile time. We show that current techniques for program specialization based on partial evaluation do not perform well on nondeterministic logic programs. We then consider a set of transformation rules which extend the ones ...
متن کاملDeriving and Applying Logic Program Transformers
We present a methodology for logic program development based on the use of ver-iied transformation templates. We use the Isabelle Logical Framework to formalize transformation templates as inference rules. We derive these rules in higher-order logic and afterwards use higher-order uniication to apply them to develop programs in a deductive synthesis style. Our work addresses the pragmatics of t...
متن کاملA Practical Partial Evaluation Scheme for Multi-Paradigm Declarative Languages
We present a practical partial evaluation scheme for multi-paradigm declarative languages combining features from functional, logic, and concurrent programming. In contrast to previous approaches, we consider an intermediate representation for programs into which source programs can be automatically translated. The use of this simplified representation, together with the appropriate control iss...
متن کاملOn the Termination of Higher-Order Positive Supercompilation
The verification of program transformation systems requires that we prove their termination. For positive supercompilation, ensuring termination requires the memoisation of expressions which are subsequently used to determine when to perform generalization and folding. For a first-order language, it is sufficient to memoise only those expressions immediately prior to a function unfolding step. ...
متن کاملHigher-Order Functional Languages and Intensional Logic
In this paper we demonstrate that a broad class of higher-order functional programs can be transformed into semantically equivalent multidimensional intensional programs that contain only nullary variable definitions. The proposed algorithm systematically eliminates userdefined functions from the source program, by appropriately introducing context-manipulation (i.e., intensional) operators. Th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000